The present disclosure relates generally to software management and, more particularly, to detecting and tracking virtual containers and building a database of associations among the containers, container histories, and installable components.
Current techniques for software license management scan for software on systems periodically (e.g., once per year) using file and registry based systems. These techniques rely on licensable software components being visible to the scanning tool. It may take weeks or months to reconcile an environment, which may be acceptable in environments with licensing postures that are unlikely to change during the reconciliation. However, software asset management (SAM) processes and tools have not evolved to adequately detect and track software licenses in a cloud environment, which may utilize rapid and API driven provisioning, de-provisioning, and auto-scaling.
Moreover, existing SAM processes and tools do not adequately handle containerization techniques used in cloud computing. Containers provide the ability for software applications to be licensable in predefined container templates known as images. These images can be checked into a repository and run, as containers, on computing hosts. For example, a user can create, run, and destroy a licensable unit of software, which would go undetected by traditional SAM processes. Additionally, images can be created and recreated in many different ways, which makes it more difficult to identify future images that might run in an environment.
Container-enabled computing hosts that are capable of running containers based on image templates utilize container engines to create, start, stop, and destroy containers. Even using a container cluster, each host utilizes its own container engine to report on container-related events.